﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Csla;
namespace EntGuayasSLA.BL.Listas.Criterias
{
    [Serializable]
    public class AlertaCriteriaSingleCriteria : BusinessBase<AlertaCriteriaSingleCriteria>
    {
        #region Business Methods
        public static readonly PropertyInfo<string> ExpedienteIdProperty = RegisterProperty<string>(c => c.ExpedienteId);
        public string ExpedienteId
        {
            get { return GetProperty(ExpedienteIdProperty); }
            set { SetProperty(ExpedienteIdProperty, value); }
        }
        public static readonly PropertyInfo<DateTime> FechaConfiguraProperty = RegisterProperty<DateTime>(c => c.FechaConfigura);
        public DateTime FechaConfigura
        {
            get { return GetProperty(FechaConfiguraProperty); }
            set { SetProperty(FechaConfiguraProperty, value); }
        }


        public static readonly PropertyInfo<string> EstadoProperty = RegisterProperty<string>(c => c.Estado);
        public string Estado
        {
            get { return GetProperty(EstadoProperty); }
            set { SetProperty(EstadoProperty, value); }
        }
        public static readonly PropertyInfo<string> RemiteIdProperty = RegisterProperty<string>(c => c.RemiteId);
        public string RemiteId
        {
            get { return GetProperty(RemiteIdProperty); }
            set { SetProperty(RemiteIdProperty, value); }
        }
      
        public static readonly PropertyInfo<string> VisualizaProperty = RegisterProperty<string>(c => c.Visualiza);
        public string Visualiza
        {
            get { return GetProperty(VisualizaProperty); }
            set { SetProperty(VisualizaProperty, value); }
        }

        public static readonly PropertyInfo<string> CodigoRolProperty = RegisterProperty<string>(c => c.CodigoRol);
        public string CodigoRol
        {
            get { return GetProperty(CodigoRolProperty); }
            set { SetProperty(CodigoRolProperty, value); }
        }

        #endregion

        #region Factory Methods

        public static AlertaCriteriaSingleCriteria NewAlertaSingleCriteria()
        {
            return DataPortal.Create<AlertaCriteriaSingleCriteria>();
        }

        private AlertaCriteriaSingleCriteria()
        { /* Require use of factory methods */ }

        #endregion


    }

    [Serializable]
    public class AlertaDeleteCriteria : BusinessBase<AlertaDeleteCriteria>
    {
        #region Business Methods
        public static readonly PropertyInfo<string> ExpedienteIdProperty = RegisterProperty<string>(c => c.ExpedienteId);
        public string ExpedienteId
        {
            get { return GetProperty(ExpedienteIdProperty); }
            set { SetProperty(ExpedienteIdProperty, value); }
        }
        public static readonly PropertyInfo<DateTime> FechaConfiguraProperty = RegisterProperty<DateTime>(c => c.FechaConfigura);
        public DateTime FechaConfigura
        {
            get { return GetProperty(FechaConfiguraProperty); }
            set { SetProperty(FechaConfiguraProperty, value); }
        }
        public static readonly PropertyInfo<DateTime> FechaEjecutaProperty = RegisterProperty<DateTime>(c => c.FechaEjecuta);
        public DateTime FechaEjecuta
        {
            get { return GetProperty(FechaEjecutaProperty); }
            set { SetProperty(FechaEjecutaProperty, value); }
        }
        public static readonly PropertyInfo<string> EstadoProperty = RegisterProperty<string>(c => c.Estado);
        public string Estado
        {
            get { return GetProperty(EstadoProperty); }
            set { SetProperty(EstadoProperty, value); }
        }
        public static readonly PropertyInfo<string> RemiteIdProperty = RegisterProperty<string>(c => c.RemiteId);
        public string RemiteId
        {
            get { return GetProperty(RemiteIdProperty); }
            set { SetProperty(RemiteIdProperty, value); }
        }
        public static readonly PropertyInfo<string> VisualizaProperty = RegisterProperty<string>(c => c.Visualiza);
        public string Visualiza
        {
            get { return GetProperty(VisualizaProperty); }
            set { SetProperty(VisualizaProperty, value); }
        }
        public static readonly PropertyInfo<string> CodigoRolProperty = RegisterProperty<string>(c => c.CodigoRol);
        public string CodigoRol
        {
            get { return GetProperty(CodigoRolProperty); }
            set { SetProperty(CodigoRolProperty, value); }
        }
        #endregion
        #region Factory Methods

        public static AlertaDeleteCriteria NewAlertaDeleteCriteria()
        {
            return DataPortal.Create<AlertaDeleteCriteria>();
        }

        private AlertaDeleteCriteria()
        { /* Require use of factory methods */ }

        #endregion


    }
    [Serializable]
    public class AlertaNotificacionCriteria : BusinessBase<AlertaNotificacionCriteria>
    {
        #region Business Methods
        public static readonly PropertyInfo<string> ArchivoIdProperty = RegisterProperty<string>(c => c.ArchivoId);
        public string ArchivoId
        {
            get { return GetProperty(ArchivoIdProperty); }
            set { SetProperty(ArchivoIdProperty, value); }
        }
        
        public static readonly PropertyInfo<string> TablaIdProperty = RegisterProperty<string>(c => c.TablaId);
        public string TablaId
        {
            get { return GetProperty(TablaIdProperty); }
            set { SetProperty(TablaIdProperty, value); }
        }
        public static readonly PropertyInfo<string> TablaProperty = RegisterProperty<string>(c => c.Tabla);
        public string Tabla
        {
            get { return GetProperty(TablaProperty); }
            set { SetProperty(TablaProperty, value); }
        }
       
        #endregion
        #region Factory Methods

        public static AlertaNotificacionCriteria NewAlertaNotificacionCriteria()
        {
            return DataPortal.Create<AlertaNotificacionCriteria>();
        }

        private AlertaNotificacionCriteria()
        { /* Require use of factory methods */ }

        #endregion


    }
}
